package com.plan.service.card;

import com.plan.base.entity.Result;
import com.plan.controller.card.request.CompleteAllReq;
import com.plan.controller.user.response.UserVO;
import com.plan.controller.card.request.CopyHistoryDayPlanReq;
import com.plan.controller.card.request.DayPlanListReq;
import com.plan.controller.card.response.DayPlanListRes;
import com.plan.controller.card.response.DayPlanMainInfoRes;
import com.plan.entity.card.DayPlan;

import java.util.List;

public interface DayPlanService {
    Result<Long> insert(DayPlan plan);

    Result<Long> start(Long id, UserVO vo);

    Result<Long> complete(Long id, UserVO vo);

    Result<Long> delete(Long dayPlanId, Long userId);


    List<DayPlanListRes> list(DayPlanListReq req);

    DayPlanMainInfoRes getDayPlanListForIndexPage(DayPlanListReq req);

    Result<String> copyoneDayPlanList(CopyHistoryDayPlanReq req, UserVO user);

    Result<String> completeForIdList(CompleteAllReq req, UserVO user);
}
